package org.jsola.hr.dao;

import org.apache.ibatis.annotations.Param;
import org.jsola.hr.entity.AttendanceMonthlyDO;
import org.jsola.hr.query.AttendanceMonthlyQuery;
import org.jsola.hr.vo.AttendanceMonthlyListVO;
import org.jsola.hr.vo.AttendanceMonthlyVO;
import org.jsola.orm.mapper.IJsolaMapper;
import org.springframework.stereotype.Repository;

import java.util.List;


/**
 * @author zhr
 */
@Repository("hrAttendanceMonthlyDAO")
public interface IAttendanceMonthlyDAO extends IJsolaMapper<AttendanceMonthlyDO> {

    /**
     * 根据员工、年、月、修改工资条
     * @param attendanceMonthlyDO
     * @return
     */
    Integer updateByMonthly(AttendanceMonthlyDO attendanceMonthlyDO);

    /**
     * 查询员工考勤月统计相关列表
     * @param attendanceMonthlyDO
     * @return
     */
    List<AttendanceMonthlyVO> selectListRelation(AttendanceMonthlyDO attendanceMonthlyDO);

    /**
     * 修改员工考勤月统计相关
     * @param attendanceMonthlyDOList
     * @return
     */
    Integer updateByMonthlyList(List<AttendanceMonthlyVO> attendanceMonthlyDOList);

    /**
     * 修改员工考勤月统计津贴金额
     * @param attendanceMonthlyDO
     * @return
     */
    Integer updateSubsidyByEmpIdList(@Param("attendanceMonthlyDO") AttendanceMonthlyDO attendanceMonthlyDO, @Param("empIdList") List<String> empIdList);

    /**
     * 查询员工工资报表相关
     * @param attendanceMonthlyQuery 查询条件
     * @param siteId 站点id
     * @return 查询结果
     */
    List<AttendanceMonthlyVO> getAttendanceMonthlyReport(@Param(value = "attendanceMonthlyQuery") AttendanceMonthlyQuery attendanceMonthlyQuery,@Param(value ="siteId" ) String siteId);
}

